home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_400 / 424_02 / ED-157 / unselect.c < prev    next >
C/C++ Source or Header  |  1994-02-08  |  2KB  |  77 lines

  1. /*
  2.  * Copyright (C) 1992 by Rush Record
  3.  * Copyright (C) 1993 by Charles Sandmann (sandmann@clio.rice.edu)
  4.  * 
  5.  * This file is part of ED.
  6.  * 
  7.  * ED is free software; you can redistribute it and/or modify it under the terms
  8.  * of the GNU General Public License as published by the Free Software Foundation.
  9.  * 
  10.  * ED is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
  11.  * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  12.  * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
  13.  * 
  14.  * You should have received a copy of the GNU General Public License along with ED
  15.  * (see the file COPYING).  If not, write to the Free Software Foundation, 675
  16.  * Mass Ave, Cambridge, MA 02139, USA.
  17.  */
  18. #include "opsys.h"
  19.  
  20. #include "ctyp_dec.h"
  21. #include "rec.h"
  22. #include "window.h"
  23. #include "ed_dec.h"
  24.  
  25. /******************************************************************************\
  26. |Routine: unselect
  27. |Callby: command edit inquire set_window sort_recs trim wincom word_fill
  28. |Purpose: Turns off the select marker.
  29. |Arguments:
  30. |    none
  31. \******************************************************************************/
  32. void unselect()
  33. {
  34.     register rec_ptr r;
  35.     register Int selrow,selcol;
  36.     Char b[2];
  37.  
  38.     if(!SELREC)
  39.         return;
  40.     for(r = TOPREC,selrow = TOPROW;r != BASE && r != BOTREC;r = r->next,selrow++)
  41.         if(r == SELREC)
  42.             break;
  43.     if(r == SELREC)
  44.     {
  45.         if(SELREC == BASE)
  46.         {
  47.             move(selrow,1);
  48.             eob();
  49.             cr();
  50.         }
  51.         else
  52.         {
  53.             selcol = get_column(SELREC,SELBYT) - FIRSTCOL + 1;
  54.             if(selcol > 0 && selcol <= NCOL)
  55.             {
  56.                 move(selrow,selcol + FIRSTCOL - 1);
  57.                 putz(" ");
  58.                 move(selrow,selcol + FIRSTCOL - 1);
  59.                 if(SELBYT || SELREC->length)
  60.                 {
  61.                     b[0] = SELREC->data[SELBYT];
  62.                     if(b[0] != '\t' && SELBYT != SELREC->length)
  63.                     {
  64.                         if(NONPRINTNCS(b[0]) || HEXMODE)
  65.                             b[0] = '<';
  66.                         b[1] = '\0';
  67.                         putz(b);
  68.                         move(selrow,selcol + FIRSTCOL - 1);
  69.                     }
  70.                 }
  71.             }
  72.         }
  73.     }
  74.     SELREC = 0;
  75. }
  76.  
  77.